#!/usr/bin/env node

import { execSync } from 'child_process';
import path from 'path';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

try {
  // 获取最近的提交信息
  const commitMsg = execSync('git log -1 --pretty=%B', { encoding: 'utf8' }).trim();
  
  // 解析提交类型
  const typeMatch = commitMsg.match(/^(feat|fix|docs|style|refactor|test|chore):/i);
  const commitType = typeMatch ? typeMatch[1] : 'feat';
  
  // 运行更新 CHANGELOG 脚本
  const updateScript = path.join(__dirname, 'update-changelog.js');
  execSync(`node "${updateScript}" "${commitMsg}" "${commitType}"`, { stdio: 'inherit' });
  
  // 将更新后的 CHANGELOG.md 添加到暂存区
  execSync('git add CHANGELOG.md', { stdio: 'inherit' });
  
  console.log('✅ 已自动更新 CHANGELOG.md 并添加到提交');
} catch (error) {
  console.error('❌ 更新 CHANGELOG 失败:', error.message);
  process.exit(1);
}
